Allow VM boot modes to change a VM's default user#681
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #681 +/- ##
==========================================
+ Coverage 70.58% 70.60% +0.02%
==========================================
Files 61 61
Lines 12973 12984 +11
==========================================
+ Hits 9157 9168 +11
Misses 3816 3816
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
The one line missing coverage appears to be a change of a |
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025052803-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2025031804-4.3&flavor=update
Failed tests47 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/132953#dependencies 14 fixed
Unstable testsDetails
Performance TestsPerformance degradation:12 performance degradations
Remaining performance tests:52 tests
|
|
Besides the comments above, it looks fine and together with whonix developers repo updates seems to fix the issue. |
|
@ArrayBolt3 ping? |
|
This hasn't fallen off my radar, I've just been having to tackle other work responsibilities and have had very limited time (too limited to look at this) for a few days. I'm scheduled to resume work on Whonix and Kicksecure again starting today, and this is my top priority to look at, so expect something later today. |
06cf964 to
4e3d747
Compare
|
@marmarek Should be ready for re-review. |
qubes/tests/integ/basic.py
Outdated
|
|
||
| await vm.start() | ||
| user_id = (await vm.run_for_stdio("id -un"))[0].decode() | ||
| self.assertEquals(user_id, "altuser") |
There was a problem hiding this comment.
| self.assertEquals(user_id, "altuser") | |
| self.assertEqual(user_id.strip(), "altuser") |
There was a problem hiding this comment.
That's disturbing... I actually ran this test and it passed on my end, but how on earth did it pass if I typo'd the function name?
There was a problem hiding this comment.
You tested it on R4.2, right? assertEquals used to be a (deprecated) alias for assertEqual but got removed in python 3.13 (or so).
There was a problem hiding this comment.
I tested on R4.3.
There was a problem hiding this comment.
@marmarek I went ahead and pushed a commit that fixes this issue I think, however looking at both my local test logs and https://gitlab.com/QubesOS/qubes-core-admin/-/jobs/10156209990, I think all of the tests under qubes/tests/integ/basic.py are getting skipped. I can't find any instance of any of those tests in the log.
There was a problem hiding this comment.
Ah, that's because the tests aren't being run under dom0. That's going to be a bit trickier to do, I'll try to run them under dom0 locally though.
There was a problem hiding this comment.
Don't worry, openQA does that. With this issue fixed, it worked for me.
There was a problem hiding this comment.
Kk. I should still have a dom0 testing environment for in the future though, so my time setting it up won't be wasted, but I will go ahead and let openQA handle it for this time around. Thank you!
|
Besides tiny issue with the test and black complaining (see CI link), looks good :) |
4e3d747 to
a34e979
Compare
Pretty straightforward, adds another feature category
boot-mode.default-user.<boot-mode-name>. Regression tests pass on my end, and the feature itself works in testing. I'm able to remove the qrexec overrides for Whonix-Workstation, add a default-user feature for sysmaint mode, and have sysmaint mode appear to function properly. Software updates also work again as dom0 can now run commands in VMs as root again.